<!DOCTYPE html>
<!-- 
    This tests verifies that blur is repainted using the full source image of the element instead of just the dirty area.
    Also it tests that the clipping rectangle of the box is not affecting the shadow.
    There should be two boxes on the screen: one blue and one green of same size. No red should be visible.
-->
<html>
<head>
    <style>
        .clipping_box {
            margin: 20px;
            width: 100px;
            height: 100px;
            overflow: hidden;
            background: red;
        }

        .empty_box {
            height: 50px;
        }

        .box {
            height: 100px;
            width: 100px;
            background-color: green;
        }

        .before {
            background-color: transparent;
        }

        .blur {
            -webkit-filter: drop-shadow(0px -100px 0px blue);
        }
    </style>

    <script src="../../resources/run-after-display.js"></script>
    <script>
        if (window.testRunner) {
            testRunner.dumpAsTextWithPixelResults();
            testRunner.waitUntilDone();
        }
        function repaintTest()
        {
            runAfterDisplay(function() {
                document.querySelector(".before").classList.remove("before");
                if (window.testRunner)
                    testRunner.notifyDone();
            });
        }
    </script>
</head>
<body onload="repaintTest()">
    <div class="clipping_box">
        <div class="blur">
            <div class="empty_box"></div>
            <div class="box before"></div>
        </div>
    </div>
</body>
</html>
